import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.io.*;
public class JDKWindow extends JFrame { 
	   JTextField javaSourceFileName; //输入Java源文件
	   JTextField javaMainClassName;  //输入主类名
	   JButton compile,run,edit;
	   HandleActionEvent listener;
	   public JDKWindow(){
		   edit = new JButton("用记事本编辑源文件");
		   compile = new JButton("编译");
		   run = new JButton("运行");
		   javaSourceFileName = new JTextField(10);
		   javaMainClassName = new JTextField(10);
		   setLayout(new FlowLayout());
		   add(edit);
		   add(new JLabel("输入源文件名:"));
		   add(javaSourceFileName);
		   add(compile);
		   add(new JLabel("输入主类名:"));
		   add(javaMainClassName);
		   add(run);
		   listener = new HandleActionEvent();
		   edit.addActionListener(listener);
		   compile.addActionListener(listener);
		   run.addActionListener(listener); 
		   setVisible(true);
		   setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		   setBounds(100,100,750,180); 

	   }   
	   class  HandleActionEvent implements ActionListener { //内部类实例做监视器
		   public void actionPerformed(ActionEvent e) {
			   if(e.getSource()==edit) {
				   Runtime ce=Runtime.getRuntime();
				   String name = javaSourceFileName.getText();
				   File file=new File("c:/windows","Notepad.exe "+name);
				   try{
					   ce.exec(file.getAbsolutePath());
				   }
				   catch(Exception exp){}
			   }
			   else if(e.getSource()==compile) {
				   CompileDialog compileDialog = new CompileDialog();
				   String name = javaSourceFileName.getText();
				   compileDialog.compile(name);
				   compileDialog.setVisible(true);
			   }
			   else if(e.getSource()==run) {
				   RunDialog runDialog =new RunDialog();
				   String name = javaMainClassName.getText();
				   runDialog.run(name);
				   runDialog.setVisible(true);
			   }
		   }
	   }
}
